using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace DragonAwakening.Core.Graphics
{
    /// <summary>
    /// View port interface
    /// </summary>
    public interface IViewPort
    {
        /// <summary>
        /// Draws the string.
        /// </summary>
        void DrawString(SpriteFont font, string text, Vector2 position, Color color);

        /// <summary>
        /// Draws the texture.
        /// </summary>
        void Draw(Texture2D texture, Vector2 position, Color color);

        /// <summary>
        /// Draws the texture.
        /// </summary>
        void Draw(Texture2D texture, Rectangle position, Color color);

        /// <summary>
        /// Draws the texture.
        /// </summary>
        void Draw(Texture2D texture, Vector2 position, Color color, float zBufferPosition);

        /// <summary>
        /// Draws the texture.
        /// </summary>
        void Draw(Texture2D texture, Rectangle position, Color color, float zBufferPosition);

        /// <summary>
        /// Draws the line.
        /// </summary>
        void DrawLine(Vector2 point1, Vector2 point2, Color color, float width);

        /// <summary>
        /// Draws the rectangle.
        /// </summary>
        void DrawRect(Rectangle rect, Color color, float width);
    }
}
